package cn.hxsteel.storage.model.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import cn.hxsteel.model.vo.PageVO;
import cn.hxsteel.storage.core.base.BaseDAO;
import cn.hxsteel.storage.model.po.BranchPO;
import cn.hxsteel.storage.module.user.model.BranchBO;

/**
 * 部门的数据访问对象
 */
@Repository
public class BranchDAO extends BaseDAO< BranchPO, Integer >
{
    /**
     * 通过部门ID查找部门对象
     * 
     * @param id 部门ID
     */
    public BranchPO selObjectByID( int id )
    {
	return null;
	// return selProcObj( "p_Branch_obj_sel_1", id );
    }
    
    /**
     * 通过UID列出部门信息
     * 
     * @param uid部门UID
     */
    public List< BranchPO > selObjectByUID( int uid )
    {
	return null;
	// return selProcList( "p_Branch_list_1", uid );
    }
    
    /**
     * 通过UID和公司id列出父部门信息
     * 
     * @param uid部门UID
     * @param companyid公司ID
     */
    public List< BranchPO > selObjectBy1( int uid, int companyid )
    {
	return null;
	// return selProcList( "p_Branch_list", uid, companyid );
    }
    
    /**
     * 通过UID和公司id列出部门信息
     * 
     * @param uid部门UID
     * @param companyid公司ID
     */
    public List< BranchPO > selObjectBy2( int uid, int companyid )
    {
	return null;
	// return selProcList( "p_Branch_list_2", uid, companyid );
    }
    
    /**
     * 通过部门PID和部门名称分页查询部门对象
     * 
     * @param pageNo 页码
     * @param pageSize 每页记录数
     * @param uid 部门UID
     * @param name 部门名称
     */
    public PageVO< BranchBO > selPageByNameAndPID( int pageNo, int pageSize, int uid, String name )
    {
	return null;
	// return (PageVO< BranchBO >) selExProcPage( BranchBO.class, "p_Branch_page", pageNo, pageSize, uid, name );
    }
    
    /**
     * 添加操作验证部门 名称是否存在
     * 
     * @param name 部门名称
     * @param uid 部门 UID
     * @param pid 部门 PID
     * @return
     */
    public BranchPO selObjectBy1( String name, int uid, int pid, int companyid )
    {
	return null;
	// return selProcObj( "P_branch_obj_sel", name, uid, pid, companyid );
    }
    
    /**
     * 修改操作验证部门 名称是否存在
     * 
     * @param name 部门名称
     * @param uid 部门 UID
     * @param pid 部门 PID
     * @return
     */
    public BranchPO selObjectBy2( int id, String name, int uid, int pid, int companyid )
    {
	return null;
	// return selProcObj( "P_branch_obj_sel_2", id, name, uid, pid, companyid );
    }
}